The use of computer systems and computer-related technologies continues to increase at a rapid pace. This increased use of computer systems has influenced the advances made to computer-related technologies. Indeed, computer systems have increasingly become an integral part of the business world and the activities of individual consumers. Thus, computer systems are used to carry out a wide variety of business, industry, and academic endeavors.
Often, computer operations may need to be repaired. This may be referred to as “debugging”. Often, a technician may connect test equipment to a computer system in order to determine the location of an error or errors. For example, technicians often monitor data communications between components within a computer system. In addition, technicians often monitor data communications between the computer system and another computer system or other automated or digital system. In some prior art systems, the data communications may be carried out via an embedded communications bus. Technicians have thus long sought to locate errors by evaluating these data communications on a bus.
Existing devices that test computing devices have included the capability to decode bus data that is transferred along a communications bus of the device being tested. The communications bus follows a protocol which defines the capabilities and characteristics of the communications bus. There are many types of bus protocols that have long been in use. Some examples of existing bus protocols include Computer Automated Measurement and Control (CAMAC), MBus, Multibus, NuBus, Peripheral Component Interconnect (PCI), SBus, Unibus, PCI Express, Hyper Transport, Serial Peripheral Interface (SPI), FireWire, etc.
Existing bus decoders, however, only understand a single communications bus protocol. Often fields of these protocols contain design specific data that are not interpreted by existing bus decoders. Thus, technicians are currently required to use various decoders depending on the protocol the communications bus is following. In addition, technicians are required to manually parse through design specific data received on the communications bus. For example, technicians currently spend significant amounts of time manually counting bits associated with the design specific bus data and manually decoding these unique bus protocols. Further, existing decoders do not automatically provide the bus data to the technician in recognizable and usable fields that the technician can use to quickly determine if debugging procedures are necessary for the device being tested. Instead, existing decoders typically provide the design specific contents of the bus data as raw streams of bytes contained in data packets. This data is not further decoded into easily understood fields since the protocol decoders do not know the specification of the design specific sections of the packets. Because existing decoders to not automatically provide bus data to the technician in an easy to understand format, technicians are required to manually parse the embedded bus data into data fields that are recognizable and usable by a human. As shown above, the use of existing decoders is inefficient and requires a significant amount of time for the technician to decode the bus data and arrange the decoded data in a recognizable format in order to determine if any debugging processes are needed.